/*
                    Tile Class Definition
*/
#pragma once
#ifndef TILE_H
#define TILE_H

#include <string>
#include "../Structs.h"
#include "../Point.h"

using namespace std;

class Tile
{
    public:
        Tile();
        Tile(const bool& bNewBlank, const Point& NewPosition, const Point& NewTilesheetPosition);
        ~Tile();

        bool operator==(const TileInfo& ComparedInfo) const;
        bool operator!=(const TileInfo& ComparedInfo) const;
        bool operator==(const Tile& ComparedInfo) const;
        bool operator!=(const Tile& ComparedInfo) const;
        bool operator=(TileInfo& NewInfo);
        bool operator=(Tile& NewInfo);

        Point Position;
        Point TilesheetPosition;

        bool bBlank;
};

#endif
